package com.tarena.lbs.business.dao.repository;

import com.github.pagehelper.PageInfo;
import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.business.pojo.po.StoreChainPO;
import com.tarena.lbs.business.pojo.po.StorePO;
import com.tarena.lbs.business.pojo.po.StoreSearchPO;
import com.tarena.lbs.business.pojo.query.AreaStoreQuery;
import com.tarena.lbs.business.pojo.query.StoreChainQuery;
import com.tarena.lbs.business.pojo.query.StoreQuery;

import java.util.List;

public interface StoreRepository {


    PageInfo<StorePO> pageList(StoreQuery query);

    void add(StorePO storePO);

    PageInfo<StorePO> getStoreByCity(AreaStoreQuery query);

    List<StorePO> selectStoreById(Integer businessId);


    void update(StorePO storePO);

    List<StoreSearchPO> getNearStore(String latitude, String longitude, double v);

    void delete(Integer id,Integer businessId);

    StorePO getStoreById(Integer id);

//    PageInfo<StoreChainPO> getChainList(StoreChainQuery storeChainQuery);

    StoreChainPO selectStoreChainById(Integer id) throws BusinessException;

    Boolean addStoreChain(StoreChainPO storeChainPO);

    void deleteStoreChainByStoreId(Integer id);

    void updateChain(StoreChainPO storeChainPO);
}
